diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
index 1fb66c4..f0cdaf3 100644
--- a/cmd/bdinfo.c
+++ b/cmd/bdinfo.c
@@ -69,6 +69,12 @@
 	printf("%-12s= %6s MHz\n", name, strmhz(buf, hz));
 }
 
+
+static inline void print_bi_boot_params(const bd_t *bd)
+{
+	print_num("boot_params",	(ulong)bd->bi_boot_params);
+}
+
 #if defined(CONFIG_PPC)
 void __weak board_detail(void)
 {
@@ -311,7 +317,7 @@
 	print_mhz("CCLK",	bd->bi_cclk);
 	print_mhz("SCLK",	bd->bi_sclk);
 
-	print_num("boot_params",	(ulong)bd->bi_boot_params);
+	print_bi_boot_params(bd);
 	print_num("memstart",		(ulong)bd->bi_memstart);
 	print_lnum("memsize",		(u64)bd->bi_memsize);
 	print_num("flashstart",		(ulong)bd->bi_flashstart);
@@ -331,7 +337,7 @@
 {
 	bd_t *bd = gd->bd;
 
-	print_num("boot_params",	(ulong)bd->bi_boot_params);
+	print_bi_boot_params(bd);
 	print_num("memstart",		(ulong)bd->bi_memstart);
 	print_lnum("memsize",		(u64)bd->bi_memsize);
 	print_num("flashstart",		(ulong)bd->bi_flashstart);
@@ -353,7 +359,7 @@
 {
 	bd_t *bd = gd->bd;
 
-	print_num("boot_params",	(ulong)bd->bi_boot_params);
+	print_bi_boot_params(bd);
 	print_num("memstart",		(ulong)bd->bi_dram[0].start);
 	print_lnum("memsize",		(u64)bd->bi_dram[0].size);
 	print_num("flashstart",		(ulong)bd->bi_flashstart);
@@ -376,7 +382,7 @@
 	bd_t *bd = gd->bd;
 
 	print_num("arch_number",	bd->bi_arch_number);
-	print_num("boot_params",	(ulong)bd->bi_boot_params);
+	print_bi_boot_params(bd);
 
 	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
 		print_num("DRAM bank",	i);
@@ -450,7 +456,7 @@
 	int i;
 	bd_t *bd = gd->bd;
 
-	print_num("boot_params",	(ulong)bd->bi_boot_params);
+	print_bi_boot_params(bd);
 	print_num("bi_memstart",	bd->bi_memstart);
 	print_num("bi_memsize",		bd->bi_memsize);
 	print_num("bi_flashstart",	bd->bi_flashstart);
@@ -485,7 +491,7 @@
 	int i;
 	bd_t *bd = gd->bd;
 
-	print_num("boot_params", (ulong)bd->bi_boot_params);
+	print_bi_boot_params(bd);
 
 	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
 		print_num("DRAM bank", i);
@@ -511,7 +517,7 @@
 	bd_t *bd = gd->bd;
 
 	print_num("arch_number",	bd->bi_arch_number);
-	print_num("boot_params",	(ulong)bd->bi_boot_params);
+	print_bi_boot_params(bd);
 
 	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
 		print_num("DRAM bank",	i);
